<?php
/**
 * Created by PhpStorm.
 * User: czm
 * Date: 2019/3/21
 * Time: 16:16
 */
namespace app\admin\controller;

use think\Controller;
use think\Db;

class Picture extends Controller
{
    public function pictureList()
    {
        $list = Db::name('picture')->order('id desc')->select();
//        $page = $list->render();
//        $this->assign('page', $page);
        $this->assign('data', $list);
        return $this->fetch();
    }

    public function pictureAdd()
    {
        if (request()->isPost()){
            $data = [
                'title' =>  input('title'),
                'state'    =>  input('state'),
            ];
            if ($_FILES['pic']['tmp_name'])
            {
                $file=request()->file('pic');//文件上传
                $info = $file->move(ROOT_PATH . 'public' . DS . 'static/images');//移动文件，DS代表/或者\斜杠
                $data['pic']=$info->getSaveName();//图片的保存路径
            }
            if ($_FILES['logo']['tmp_name'])
            {
                $file=request()->file('logo');//文件上传
                $info = $file->move(ROOT_PATH . 'public' . DS . 'static/images');//移动文件，DS代表/或者\斜杠
                $data['logo']=$info->getSaveName();//图片的保存路径
            }

            $res = Db::name('picture')->insert($data);
            if ($res){
                return show(200);
            }else{
                return show(403);
            }
        }
        return $this->fetch();
    }

    public function pictureEdit()
    {
        $id = input('id');
        $a = db('picture')->find($id);
        $this->assign('a', $a);
        if (request()->isPost()) {
            $data = input('post.');
            if ($_FILES['pic']['tmp_name'])
            {
                $file=request()->file('pic');//文件上传
                $info = $file->move(ROOT_PATH . 'public' . DS . 'static/images');//移动文件，DS代表/或者\斜杠
                $data['pic']=$info->getSaveName();//图片的保存路径
            }
//            var_dump($data);exit();
            $res = Db::name('picture')->where('id',input('id'))->update($data);
            if ($res){
                return show(200);
            }else{
                return show(403);
            }
        }
        return $this->fetch();
    }

    //上架下架
    public function pictureActive()
    {
        // 0上架状态  1下架状态
        $id = $_POST['id'];
        $active = $_POST['state'];
        if($active == 0){
            db('picture')->where('id',$id)->update(['state'=>0]);
            return show(200);
        }else if ($active == 1){
            db('picture')->where('id',$id)->update(['state'=>1]);
            return show(403);
        }
    }

    public function pictureDel()
    {
        $id = $_POST['id'];
        $data = db('picture')->where('id',$id)->delete($id);
        if($data){
            return show(200);
        }else{
            return show(403);
        }
    }

    public function download()
    {
        if (request()->isPost()){
            $famlePath = $_FILES['pic'];
            $file_dir = ROOT_PATH . 'public' . DS . 'uploads' . '/' . "$famlePath";    // 下载文件存放目录

            // 检查文件是否存在
            if (!file_exists($file_dir)) {
                $this->error('文件未找到');
            } else {
                // 打开文件
                $file1 = fopen($file_dir, "r");
                // 输入文件标签
                Header("Content-type: application/octet-stream");
                Header("Accept-Ranges: bytes");
                Header("Accept-Length:" . filesize($file_dir));
                Header("Content-Disposition: attachment;filename=" . $file_dir);
                ob_clean();     // 重点！！！
                flush();        // 重点！！！！可以清除文件中多余的路径名以及解决乱码的问题：
                //输出文件内容
                //读取文件内容并直接输出到浏览器
                echo fread($file1, filesize($file_dir));
                fclose($file1);
                exit();
            }
        }
    }

    public function downloads()
    {
        $data = '这是一个测试文件';
        return download($data, 'test.txt', true);
    }

    public function pictures_add()
    {
        return $this->fetch();
    }


}